layui.use(["form","layer","laypage"],function () {

    var form = layui.form;
    var layer = layui.layer;
    var laypage = layui.laypage;


	//加载所有数据,创建vue实例,后面的方法操作此实例,不能用方法包裹写到外面
	var vm=new Vue({
		el:"#vue_content",
		data:{
			list:"",
		},
	});

	//总数据数
	var total=0;


    //这里vue使用layui的开关控件重新渲染有问题,一开始在重新加载了vm的data后调用form.render()
    //点击翻页点击两次才生效,
    //用这种点击document时,点击翻页按钮(整个document)触发渲染
    //翻页后渲染
    $(document).on("click",function () {
        form.render();
    });
    //新加载后渲染
    $(document).one("mouseover",function () {
        form.render();
    });

    //初始加载所有课程信
    loadCourse(1);
    page();

    //查询指定课程信息
    $("#queryCourse").click(function () {
        loadCourse(1);
        page();
    });

    /**
     * 开放或关闭单一选课
     */
    form.on("switch(ONandOFF)",function (data) {
        var mark=data.elem.checked;
        var state="";
        if(mark==true){
            state="true";
        }
        else{
            state="false";
        }
        var id=$(this).parents("td").prevAll(".id").text();
        $.ajax({
            url:"changeState",
            type:"get",
            async:false,
            data:{
                "id":id,
                "state":state
            },
            success:function (data) {
                if(1==data){
                    layer.msg("操作成功");
                }
                if(0==data){
                    layer.msg("操作失败");
                }
            },
            error:function () {
                layer.msg("系统繁忙,请稍后再试");
            }
        });
    });

    //开放所选
    $(document).on("click","#openCourseList",function(){
        var ids=[];
        $("input:checkbox[class=single]:checked").parent().siblings(".id").each(function(){
            ids.push($(this).html());
        });
        console.log(ids);
        $.ajax({
            url:"openCourseList",
            async:false,
            type:"get",
            traditional:true,
            data:{"ids":ids},
            success:function (data) {
                if(0==data){
                    layer.msg("开放失败");
                }
                else if(1==data){
                    layer.msg("开放成功");
                }
            },
            error:function () {
                layer.msg("系统繁忙,请稍后再试!");
            }
        });
    })

    //删除所选
    $(document).on("click","#deleteCourseList",function(){
        var ids=[];
        $("input:checkbox[class=single]:checked").parent().siblings(".id").each(function(){
            ids.push($(this).html());
        });
        console.log(ids);
        $.ajax({
            url:"deleteCourseList",
            async:false,
            type:"get",
            traditional:true,
            data:{"ids":ids},
            success:function (data) {
                if(0==data){
                    layer.msg("删除失败");
                }
                else if(1==data){
                    layer.msg("删除成功");
                }
            },
            error:function () {
                layer.msg("系统繁忙,请稍后再试!");
            }
        });
    });



	//查询课程
	//首先获取当前输入框的内容
	function loadCourse(currPage){
		var name=$("#name").val();
		var college=$("#college").val();
		var major=$("#major").val();
		var teacherName=$("#teacherName").val();
		$.ajax({
			url:"allCourse",
			type:"get",
			async:false,
			data:{
				"name":name,
				"college":college,
				"major":major,
				"teacherName":teacherName,
				"currPage":currPage,
			},
			success:function (data) {
				//将state字符串转变为布尔值
				$(data.cList).each(function (i,item) {
					if("true"==item.state){
						item.state=true;
					}
					else{
						item.state=false;
					}
				});
				vm.list=data.cList;       //加载数据
				total=data.total;          //重设总数据数
			}
		});
		//form.render();
	}

	//翻页
	function page(){
		laypage.render({
			elem:"page_container",		//容器
			count:total,				//总数据数,服务器获得
			limit:9,					//每页条数,默认10
			curr:1,						//初始页,默认1
			jump:function(obj){
				loadCourse(obj.curr);	//curr为当前页码
			}
		});
	}

});







